package com.itheima.sh.f_test01;


/**
 * 需求 : 求出2-1000之间的质数, 以直角三角形打印
 * <p>
 * 质数解释 : 如果一个数据能被1和它本身整除, 那么此数据为质数
 */
public class Test {
    public static void main(String[] args) {
        //定义一个索引用来记录该遍历第几个数字了
        int id = 2;
        //这个for循环用来控制换行，k为1表示第一行，k为2表示第二行
        for (int k = 1; k <= id; k++) {
            //这个索引用来记录当前行已经打印了几个数字了
            int id2 = 0;
            //遍历2-1000
            for (int i = id; i <= 1000; i++) {
                id++;
                //定义一个标识，true表示是质数
                boolean flag = true;
                //判断是否为质数
                for (int j = 2; j <= i / 2; j++) {
                    if (i % j == 0) {
                        flag = false;
                        break;
                    }
                }
                //如果为true表明这个数是质数然后打印，同时id2进行自加
                if (flag) {
                    System.out.print(i + "\t");
                    id2++;
                }
                //判断是否该进行换行
                if (id2 == k) {
                    System.out.println();
                    break;
                }
            }

        }
    }
}




